namespace CSharpPro._1030;

public class User
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
}

// 定义UserService接口，包含增删改查方法
public interface IUserService
{
    // 新增用户
    bool AddUser(User user);
    
    // 删除用户（根据ID）
    bool DeleteUser(int userId);
    
    // 修改用户
    bool UpdateUser(User user);
    
    // 查询用户（根据ID）
    User GetUserById(int userId);
}

// 实现UserService接口的类
public class UserServiceImpl : IUserService
{
    // 实现新增用户方法
    public bool AddUser(User user)
    {
        if (user == null)
        {
            Console.WriteLine("新增失败：用户信息不能为空");
            return false;
        }
        
        // 实际项目中这里会连接数据库执行插入操作
        Console.WriteLine($"新增用户成功：ID={user.Id}, 姓名={user.Name}, 年龄={user.Age}");
        return true;
    }
    
    // 实现删除用户方法
    public bool DeleteUser(int userId)
    {
        if (userId <= 0)
        {
            Console.WriteLine("删除失败：用户ID无效");
            return false;
        }
        
        // 实际项目中这里会连接数据库执行删除操作
        Console.WriteLine($"删除用户成功：ID={userId}");
        return true;
    }
    
    // 实现修改用户方法
    public bool UpdateUser(User user)
    {
        if (user == null || user.Id <= 0)
        {
            Console.WriteLine("修改失败：用户信息或ID无效");
            return false;
        }
        
        // 实际项目中这里会连接数据库执行更新操作
        Console.WriteLine($"修改用户成功：ID={user.Id}, 新姓名={user.Name}, 新年龄={user.Age}");
        return true;
    }
    
    // 实现查询用户方法
    public User GetUserById(int userId)
    {
        if (userId <= 0)
        {
            Console.WriteLine("查询失败：用户ID无效");
            return null;
        }
        
        // 实际项目中这里会连接数据库查询数据
        // 这里模拟查询结果
        return new User 
        { 
            Id = userId, 
            Name = "张三", 
            Age = 25 
        };
    }
}
